#ifndef CONSTANTE_H
#define CONSTANTE_H

class constante
{
protected:
        int type;
public:
        enum types {ENTIER,EXPRESSION,RATIONNEL,COMPLEXE,REEL };
        Constante(int type);
        virtual constante* operator+(const constante&)const = 0;
        virtual constante* operator*(const constante&)const = 0;
        virtual constante* operator-(const constante&)const = 0;
        virtual constante* operator/(const constante&)const = 0;
        virtual constante* operator-()const = 0;
        virtual std::string print()const = 0;
        int getType()const {return type;}

};

#endif // CONSTANTE_H
